During the past five years, the Internet has emerged as a major communications medium for transmission of information to wide audiences. Initially developed for the exchange of simple, text-based messages and computer files between users of geographically separated mainframe and mini computers, the Internet has evolved into an important communications link between home personal computer (“PC”) users and a broad array of information provides, including governmental and non-profit organizations, commercial organizations, traditional broadcast information providers and other home PC users.
Currently, the most popular method of information exchange on the Internet is transfer of web pages described in hypertext mark-up language (“HTML”) files via the hypertext transfer protocol (“HTTP”). A web browser software program running on a user's PC requests a web page from a server computer via the Internet by sending a uniform resource locator (“URL”) to the server computer that compactly specifies, in a character string, a particular HTML file. The server computer responds by returning a file containing the HTML description of the requested web page. The browser on the user's computer then interprets the HTML description of the web page contained in the returned file and transforms it into a graphical display on the monitor of the user's PC.
As the machine-level and software-level graphics capabilities of PCs have increased, web page designers and providers of web page development tools are incorporating enhanced graphics display capabilities into web page descriptions. As one example, web page designers are able to designate portions of bit map images displayed within a web page as being “hot,” or active. A web page designer may associate any of a number of different actions with each active region within a web page. When a user manipulates a mouse to move a displayed cursor over an active region, or inputs a mouse click to a PC while a displayed cursor is positioned over an active region, the associated action will be carried out. Actions may include displaying a web page or image, or invoking a software routine. The designation of active regions, and the association of actions with active regions, is accomplished through the use of server-side image maps and client-side image maps. Image maps can be thought of as the superposition of an abstract template over an image included on the web page, with the abstract template containing descriptions of the size, shape, and location of each active region as well as an association between the active region and an action. Server-side image maps are implemented on a server computer, requiring a browser running on a client computer receiving the web page to transmit input events during display of the web page back to the server computer, followed by transmission of responses from the server computer to the client computer that facilitate any actions invoked by user input. Client-side image maps, by contrast, are implemented, at run time, by web browsers, or by viewers invoked by web browsers, on client computers. Input to displayed images associated with client-side image maps thus does not incur the extra Internet traffic incurred in displaying images associated with server-side image maps.
Dynamically sizable and shiftable images within web pages are another example of recent enhanced graphic capabilities of web pages. A user viewing the display of a dynamic image within a web page may direct the browser to zoom into or out from the image to higher and lower resolutions, and to scroll the image in vertical and horizontal directions. The software mechanisms for describing and implementing dynamic images within web pages are currently separate and distinct from the mechanisms for describing and implementing client-side image maps.
Yet another example of recent enhanced capabilities of web pages is the ability to include within a web page description one or more invocations of software routines that run on the computer system on which the web page is displayed. Invocation of programs can provide extremely dynamic graphical displays. For example, a program can be invoked during display of a first web page that then requests, receives, and displays additional web pages or images in order to provide a sequence of discrete graphical displays.
While all three of the above-described, recent graphical display enhancements available to web page designers are commonly used, they are currently poorly integrated with one another. For example, active regions are designated in currently-available client-side image maps in terms of resolution-dependent device coordinates. As a result, when client-side image maps are associated with dynamic images within web pages, the active regions are not automatically zoomed and shifted, or panned, along with the dynamic images. As a result, the active regions defined within the client-side image maps quickly lose their original correspondence to specific regions of the images with which they are associated. Another example of the poor integration between the above-mentioned enhanced graphics capabilities is that there is currently no easy way for programs invoked form web pages to acquire information about active regions from client-side image maps defined within web page descriptions. Therefore, when an invoked program obtains and displays a second image, it is currently difficult or impossible for the invoked program to correlate the second displayed image with active regions defined for that image in a client-side image map. For these reasons, web page designers and providers of web page development tools have recognized the need for integrated methods and systems to allow client-side image maps, dynamic images within web pages, and software routines invoked from web pages to easily and effectively inter-operate with one another.